Lenguaje de ontologías

Introducción

Las ontologías son una forma de representación del conocimiento, cuya importancia es la de ser entendida por el ser humano e interpretada por una máquina.

Por esto, existen lenguajes, formatos, especificaciones, construcciones, etc, que dan un soporte técnico a ontologías y a bases de conocimiento. En otras palabras, los lenguajes permiten concretar, en un documento legible por ordenador, las ideas que puedan estar recogidas en una base de conocimiento.

 

RDF (Resource Description Framework)

RDF es una forma de representación del conocimiento que pretende establecer un puente entre el lenguaje humano y el lenguaje de los computadores.

RDF se basa en el análisis de la estructura del lenguaje humano:

RDF pretende representar el conocimiento como un conjunto de oraciones simples llamadas tripletas donde:

«sujeto» «verbo» «objeto»

 

Ejemplo:

 

RDF es un modelo abstracto que requiere de alguna serialización para poder ser escrito y leído, es decir, RDF no es XML, no es JSON; pero RDF se puede escribir como XML y otros formatos.

 

Reglas RDF

 

Ejemplo:

 

URIs (Uniform Resource Identifier)

Una URI es una cadena que identifica a un recurso de una red de forma unívoca. A simple vista puede confundirse con una URL (Uniform Resource Loader) , ya que no hay diferencia en su representación entre unos y otros. Sin embargo, una URL puede hacer referencia a recursos que varían en el tiempo, mientras que las URI hace referencia a recursos fijos.

Podemos utilizar diferentes catálogos de URIs, como por ejemplo:

También podemos mezclar URIs de diferentes proveedores:

Se pueden utilizar literales en vez de URIs para uso a nivel local/interno.

 

Serialización

RDF / XML

La serialización de RDF a XML es la más utilizada en web semántica y consiste en la traducción de tripletas al lenguaje XML.

 

 

En este ejemplo, se introduce un concepto nuevo: el nodo en blanco.

Un nodo en blanco es un recurso sin nombre que se utiliza como puente entre dos sentencias. Así, el hospital en el que trabaja Ana está representado por un nodo anónimo del que sabemos que es un hospital y que está en el centro.

Una representación gráfica de esta idea podría ser:

 

Nodo_en_blanco

 

JSON-LD

Otra aproximación es la serialización basada en JSON (JavaScript Object Notation), que es JSON-LD (JSON for Linked Data) compatible con JavaScript.

 

 

Familia Turtle

La familia de lenguajes Turtle tiene su origen en Notation3 (N3), un sistema de notación que incluye las características de RDF y añade características de LPPO (lógica proposicional de primer orden).

Turtle es un subconjunto de N3 que descarta las características de LPPO y tan solo utiliza las características de RDF.

Turtle es un formato RDF mucho más legible que el equivalente XML.

 

Ejemplo:

 

De manera genérica, se tiene la siguiente estructura:

, permite indicar varios objetos relacionados con el sujeto-predicado.

; permite asignar varios predicados a un mismo sujeto.

 

N-Triples

N-Triples es una versión más simplificada de Turtle, que impone un formato en el que cada línea es una sentencia.

 

Ejemplo:

 

RDFS (Resource Description Framework Schema)

RDF Schema es una capa adicional construida sobre RDF para aportar expresividad semántica.

RDFS permite representar jerarquías de clases de recursos, especificando tanto las propiedades como las relaciones entre ellas.

 

Ejemplo:

Modelo_RDFS

Representación gráfica de ontología

 

RDFS (Resource Description Framework Schema)

 

En RDFS, el predicado rdfs:subClassOf indica qué sujeto es una subclase del objeto, mientras que rdf:type indica que el sujeto es una instancia del objeto.

 

Elementos

 

Ejemplo:

Persona rdf:type rdfs:Class Mascota rdf:type rdfs:Class Gato rdfs:subClassOf Mascota tieneMascota rdf:type rdfs:Property

Alejandro rdf:type Persona Félix rdf:type Gato Alejandro tieneMascota Félix

 

OWL (Ontology Web Language)

OWL es una familia de lenguajes para ontologías basada en RDFS, que permite escribir ontologías más ricas en metadatos.

Representa clases, propiedades, individuos y valores de datos para su almacenamiento en documentos de la web semántica.

OWL nos permite generar nueva información a partir de la información que ya tenemos, es decir, inferir conocimiento:

 

OWL requiere el cumplimiento de dos supuestos importantes:

  1. Supuesto del mundo abierto:

    La verdad de un enunciado no depende de si se conoce

    No saber que una declaración es explícitamente verdadera, no significa que sea falsa

    Verdad||No-verdad ⟷ Verdad||Falso

    Ante la ausencia de información no se puede decir que algo no sea verdad

     

  2. Sin suposición de nombres únicos:

    El mismo concepto se puede representar con varios nombres / URIs diferentes.

    OWL permite indicar que nombres / URIs diferentes se refieren a lo mismo, permitiendo así relacionar ontologías.

    Esta capacidad de entrelazar datos diferentes se conoce como Linked Data.

    Ejemplo:

 

SPARQL (Protocol and RDF Query Language)

RDF, RDFS, OWL permiten almacenar y representar información. Sin embargo, de poco sirve disponer de la información si no existe un método para poder acceder rápidamente a la misma.

SPARQL es un lenguaje de búsqueda de información especializado en tripletas RDF.

Tiene una estructura básica de consultas similar al lenguaje SQL, que permite realizar consultas en diversas bases de datos, sin importar cómo fueron almacenados los datos.

 

Ejemplo:

 

by Jose Manuel Pinillos